package w83b.w83bOperacionesPaso.w83bResultados;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import w83b.w83bBeans.W83bResultadosBean;
import es.ejie.frmk.presentacion.operacion.paso.Q70ActionPasoOP;
import es.ejie.frmk.presentacion.sesiondatos.Q70ContextoEJIE;

// TODO: Auto-generated Javadoc
/**
 * The Class W83bTablaConveniosOP.java.
 *
 * @author Deusto Sistemas
 */
public class W83bTerminarBucleResultadosOPAction extends Q70ActionPasoOP{

	
	/* (non-Javadoc)
	 * @see es.ejie.frmk.presentacion.operacion.paso.Q70ActionPasoOP#processOP(es.ejie.frmk.presentacion.sesiondatos.Q70ContextoEJIE, org.apache.struts.action.ActionErrors, org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
	 */
	protected void processOP(Q70ContextoEJIE contexto, ActionErrors errores, ActionMapping mapping,
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		

		
	}

	/* (non-Javadoc)
	 * @see es.ejie.frmk.presentacion.operacion.paso.Q70ActionPasoOP#processForward(es.ejie.frmk.presentacion.sesiondatos.Q70ContextoEJIE, org.apache.struts.action.ActionErrors, org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
	 */
	protected ActionForward processForward(Q70ContextoEJIE contexto, ActionErrors errors, ActionMapping mapping, 
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		W83bResultadosBean rb=(W83bResultadosBean)contexto.get("w83bResultadosBean");
		
		if("resCentroSindicato".equals(rb.getModo())){
			List listaResultados = (ArrayList)contexto.get("w83bListadoResultadosBean");
			List listaResultadosTemp = (ArrayList)contexto.get("w83bListadoResultadosBeanTemp");
			
			if(null==listaResultados){
				listaResultados = new ArrayList();
			}
			
			if(null!=listaResultadosTemp){
				listaResultados.addAll(listaResultadosTemp);
			}
			//System.out.println("tamanuyo "+listaResultados.size());
			//System.out.println("tamanuyo temp "+listaResultadosTemp.size());
			
			contexto.set("w83bListadoResultadosBean",listaResultados);
		}else if("delegadosPorConvenio".equals(rb.getModo())){
			HashMap mapa = (HashMap)contexto.get("w83bMapResultadosBean");
			HashMap mapaTemp = (HashMap)contexto.get("w83bMapResultadosBeanTemp");
			
			if(null==mapa){
				mapa = new HashMap();
			}
			
			List listaResultados = (ArrayList)mapa.get("lista");
			List numempresasycentros = (ArrayList)mapa.get("numempresasycentros");
			List listaResultadosTemp = (ArrayList)mapaTemp.get("lista");
			List numempresasycentrosTemp = (ArrayList)mapaTemp.get("numempresasycentros");
			
			if(null==listaResultados){
				listaResultados = new ArrayList();
			}
			
			if(null!=listaResultadosTemp){
				listaResultados.addAll(listaResultadosTemp);
			}
			if(null==numempresasycentros){
				numempresasycentros = new ArrayList();
			}
			
			if(null!=numempresasycentrosTemp){
				numempresasycentros.addAll(numempresasycentrosTemp);
			}
			
			mapa.put("lista", listaResultados);
			mapa.put("numempresasycentros", numempresasycentros);
			
			
			contexto.set("w83bMapResultadosBean",mapa);
		}
		
		
		if(rb.getMax().equals((String)contexto.get("contarResultados"))){
			return mapping.findForward("finBucle"+rb.getModo());
		}	
		return mapping.findForward(rb.getModo());
	}

}
